home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / geos-archive / GEOS-D64 / GeoThek Programme (19xx)(-)(de)[gt106b].d64 / file-master (.txt) < prev    next >
Commodore BASIC  |  2019-04-13  |  9KB  |  343 lines

  1. 20 REM FILEMASTER MANFRED TORNSDORF
  2. 30 PRINTCHR$(14)
  3. 40 FOR I=0 TO 7:READ SP% (I):NEXTI
  4. 60 PRINT"[147]"
  5. 80 V=53248:POKEV+21,0
  6. 100 PRINT"[147][208]LEASE INSERT DISKETTE & PRESS A KEY."
  7. 120 GETA$:IFA$=""THEN120
  8. 140 OPEN5,8,15,"I"
  9. 160 OPEN3,8,3,"#0"
  10. 180 PRINT"[147]"
  11. 200 PRINT"[198][201][204][197]-[205][193][211][212][197][210]"
  12. 220 PRINT"-------------"
  13. 240 PRINT"[195]ONVERT [198]ILES INTO [199][197][207][211] FORMAT."
  14. 260 PRINT""
  15. 280 PRINT"[196]ISK DIRECTORY         = DIR"
  16. 300 PRINT"[204]OAD SPRITE            = SPL"
  17. 320 PRINT"[195]REATE SPRITE          = CSP"
  18. 340 PRINT"[210]EAD FILE              = RFL"
  19. 380 PRINT"[196]ISPLAY FILE INFO      = FDI"
  20. 400 PRINT"[195]REATE [199][197][207][211] FILE       = GEOS"
  21. 420 PRINT"[201]NPUT/CHANGE DATE      = DATE"
  22. 440 PRINT"[195]HANGE DISKETTES       = DISK"
  23. 460 PRINT"[197]ND PROGRAM            = END"
  24. 480 PRINT"[210]EAD INFO              = INFO"
  25. 500 N$="XXXXXXX"
  26. 520 INPUT"[217]OUR CHOICE";N$
  27. 540 IF N$="DIR"  THEN GOSUB 4060
  28. 560 IF N$="SPL" THEN GOSUB 4060
  29. 580 IF N$="CSP" THEN GOSUB 2320
  30. 600 IF N$="RFL" THEN GOSUB 800
  31. 620 IF N$="DATE" THEN GOSUB 3160
  32. 640 IF N$="FDI" ANDZ1=1 THEN PRINT"[147]":GOSUB 980
  33. 660 IF N$="INFO" THEN GOSUB  5100
  34. 680 IF N$="DISK" THEN CLOSE3:CLOSE5:GOTO100
  35. 700 IF N$="END" THEN 760
  36. 720 IF N$="GEOS" THEN GOSUB 3540
  37. 740 GOTO 180
  38. 760 CLOSE3:CLOSE5:POKEV+21,0:STOP
  39. 780 STOP:REM**********************
  40. 800 Z1=0:GOSUB 1380 :IF T=0 OR Z1=0 THEN RETURN
  41. 820 AT=T: REM DIR-TRACK FOUND
  42. 840 AS=S: REM DIR SECTOR FOUND
  43. 860 AB=BP:REM BUFFER POINTER FILETYPE
  44. 880 TF=TS:SF=SS:REM TRACK FILE,SECTOR FILE
  45. 900 FI$=NA$ :
  46. 920 GOSUB2220:FS=A:GOSUB2220:GT=A:GOSUB2220:JA=A:JA$=STR$(A)
  47. 930 GOSUB2220:MO=A:MO$=STR$(A)
  48. 940 GOSUB2220:TA=A:TA$=STR$(A):GOSUB2220:HO=A:HO$=STR$(A)
  49. 950 GOSUB2220:MI=A:MI$=STR$(A)
  50. 960 GOSUB2220:LL=A:GOSUB2220:LH=A:
  51. 980 PRINT"[145][145]";FI$;""
  52. 1000 PRINT"STARTING  TRACK :";TF
  53. 1020 PRINT"STARTING SECTOR :";SF
  54. 1040 PRINT
  55. 1060 PRINT"FILE TYPE       :";FT
  56. 1080 PRINT"INFO   TRACK    :";IT
  57. 1100 PRINT"INFO   SECTOR   :";IS
  58. 1120 PRINT#5,"B-P:";3;BP+21
  59. 1140 PRINT"FILE STRUCTURE  :";FS
  60. 1160 PRINT"GEOS F-TYPE     :";GT;
  61. 1180 IF GT=1 THEN PRINT" =[194]ASIC"
  62. 1200 IF GT=2 THEN PRINT" =[193]SSEMBLER"
  63. 1220 IF GT<>1 AND GT<>2 THEN PRINT
  64. 1240 PRINT"[217]EAR   :";JA
  65. 1260 PRINT"[205]ONTH  :";MO
  66. 1280 PRINT"[196]AY    :";TA
  67. 1300 PRINT"[200]OUR   :";HO
  68. 1320 PRINT"[205]INUTE :";MI
  69. 1340 PRINT"FILE LENGTH :";LL+256*LH
  70. 1360 INPUT "<[210][197][212][213][210][206]> TO GO ON";X$:RETURN
  71. 1380 REM ****************************
  72. 1400 PRINT"[147]":T=18:S=1:
  73. 1420 INPUT"[206]AME TO SEARCH FOR:";SU$
  74. 1440 SU=LEN(SU$)
  75. 1460 PRINT"[147]"
  76. 1480 SV$="":FORI=1TOSU: SV=ASC(MID$(SU$,I,1 )):IF SV>192 ANDSV<219 THEN SV=SV-96
  77. 1500 SV$=SV$+CHR$(SV):NEXTI:
  78. 1520 PRINT#5,"B-R:"3;0;T ;S
  79. 1540 PRINT#5,"B-P:"3,0
  80. 1560 BP=2
  81. 1580 GOSUB 2220
  82. 1600 TN$=A$:TN=ASC(TN$)
  83. 1620 GOSUB 2220
  84. 1640 NA$=""
  85. 1660 SN$=A$:SN=ASC(SN$):IFN$<>"I"THEN PRINT"T=";T;"  S=";S
  86. 1680 PRINT#5,"B-P:";3;2
  87. 1700 FOR J=1 TO 8
  88. 1720 PRINT#5,"B-P:";3;BP
  89. 1740 GOSUB 2220:FT$=A$:FT=ASC(FT$)AND 63
  90. 1760 GOSUB 2220:TS$=A$:TS=ASC(TS$)
  91. 1780 GOSUB 2220:SS$=A$:SS=ASC(SS$)
  92. 1800 FOR I=1 TO 16:GOSUB2220
  93. 1820 IF ASC(A$)=160 THEN I=16:GOTO 1860
  94. 1840 NA$=NA$+A$:
  95. 1860 NEXTI:
  96. 1880 PRINT#5,"B-P:";3;BP+19
  97. 1900 GOSUB2220:IT$=A$:IT=ASC(IT$):
  98. 1920 GOSUB2220:IS$=A$:IS=ASC(IS$):
  99. 1940 IF FT=0 THEN 2080
  100. 1980 PRINT"  ";FT;"  ";TS;" ";SS;"  ";CHR$(34);NA$;CHR$(34);
  101. 2000 PRINT"  ";IT;"  ";IS
  102. 2020 IF N$="I" THEN 2080
  103. 2040 IF SU$=MID$(NA$,1,SU) THEN PRINT"FOUND.":Z1=1:RETURN
  104. 2060 IF SV$=MID$(NA$,1,SU) THEN PRINT"FOUND":Z1=1:RETURN
  105. 2080 NA$="":
  106. 2100 IF PEEK(203)<>64 THEN 2180
  107. 2120 BP=BP+32
  108. 2140 NEXTJ
  109. 2160 IF TN<>0 THEN PRINT"":T=TN:S=SN:GOTO1520
  110. 2180 RETURN
  111. 2200 REM**************
  112. 2220 GET#3,A$:IFA$=""THENA$=CHR$(0)
  113. 2240 A=ASC(A$)
  114. 2260 RETURN
  115. 2280 REM**********************
  116. 2300 FORK=0TO62:POKE832+K,0:NEXTK
  117. 2320 PRINT"[147][211]PRITEMASTER"
  118. 2360 X1=0 :Y1=0:X=X1:Y=Y1:PS=43
  119. 2380 VX=0:VY=0:VT=0 :
  120. 2400 POKE2040,13:POKEV+21,1:POKEV,30:POKEV+1,200
  121. 2420 FOR J=X1+14 TO X1+23+14
  122. 2440 FOR I=Y1+1 TO Y1+21
  123. 2460 P=1024+I*40+J
  124. 2480 GOSUB 3000:VA%=VI%ANDVN%
  125. 2500 IF VA% <>0 THEN PS=42
  126. 2520 IF VA% = 0 THEN PS=46
  127. 2540 IF P>1024 AND P<2023 THEN POKEP,PS
  128. 2560 Y=Y+1:NEXT I : Y=0
  129. 2580 X=X+1:NEXTJ:X=0
  130. 2600 PS=43
  131. 2620 P=1024+(Y+1)*40+X+14
  132. 2640 PR=PEEK(P)
  133. 2660 IFP>1023ANDP<2024 THEN POKEP,PS
  134. 2680 GETA$:IFA$=""THEN2680
  135. 2700 IF A$=""ANDX<23     THENX=X+1
  136. 2720 IF A$="[157]"ANDX>0      THENX=X-1
  137. 2740 IF A$=""ANDY<20     THENY=Y+1
  138. 2760 IF A$="[145]"ANDY>0      THENY=Y-1
  139. 2780 IF A$="*" THEN PR=42:
  140. 2800 IF A$=" " THEN PR=46:
  141. 2820 IF A$="E" THEN 3120
  142. 2840 IF A$="[147]" THEN 2300
  143. 2860 POKEP,PR
  144. 2880 IF A$<>"*"ANDA$<>" "THEN2620
  145. 2900 GOSUB 3000
  146. 2920 IF A$="*" THEN POKEVB%,VI% OR VN%
  147. 2940 IFA$=" " THEN POKEVB%,VI%ANDSP%(VT%)
  148. 2960 GOTO 2620
  149. 2980 REM*****************
  150. 3000 VY%=Y :VX%=INT((X)/8):VT%=X-VX%*8
  151. 3020 VB%=832+VX%+VY%*3 :REM BYTE NUMBER
  152. 3040 VI%=PEEK(VB%)      :REM CONTENTS
  153. 3060 VN%=2^(7-VT%)      :REM NEW BIT
  154. 3080 RETURN
  155. 3100 REM *******************
  156. 3120 POKEV+21,0:PRINT"[147]":RETURN
  157. 3140 REM ****** SET DATE  ***
  158. 3160 PRINT"[147]---------[196] [193] [212] [197]------------
  159. 3180 [153]"";MO$;"/";TA$;"/19";JA$;"  ";HO$;":";MI$;" O'CLOCK"
  160. 3200 [143]  PRINT"";TA;
  161. 3220 [153]""
  162. 3240 [153]"(null)EAR    :";JA
  163. 3260 [153]"(null)ONTH   :";MO
  164. 3280 [153]"STR$AY     :";TA
  165. 3300 [153]"LEFT$OUR    :";HO
  166. 3320 [153]"(null)INUTE  :";MI
  167. 3340 [153]"LENHANGE - TYPE FIRST TWO CHARACTERS     OF CHOICE ((null)VAL (null)(null),ETC.)
  168. 3360 PRINT"[196]ONE    - TYPE [197][206][196]
  169. 3380 [133] "(null)OUR CHOICE";X$
  170. 3400 [139] X$[178]"END" [167] [142]
  171. 3420 [139] X$[178]"YE" [167] [133]"(null)EAR     :";JA$:JA[178][197](JA$):[137]3160
  172. 3440 [139] X$[178]"MO" [167] [133]"(null)ONTH    :";MO$:MO[178][197](MO$):[137]3160
  173. 3460 [139] X$[178]"DA" [167] [133]"STR$AY      :";TA$:TA[178][197](TA$):[137]3160
  174. 3480 [139] X$[178]"HO" [167] [133]"LEFT$OUR     :";HO$:HO[178][197](HO$):[137]3160
  175. 3500 [139] X$[178]"MI" [167] [133]"(null)INUTE   :";MI$:MI[178][197](MI$):[137]3160
  176. 3520 [137] 3160
  177. 3540 [153]"LOAD":[143] *****GEOS FILE SET****
  178. 3560 [139] IT[179][177]0 [167] 3660 :[143] SHOULD BE SET
  179. 3580 IT[178]TF:IS[178]SF:[153]IT,IS
  180. 3600 [152]5,"B-A:"0;IT;IS
  181. 3620 [132]5,A,B$,C,D:[153]A,B$,C,D:
  182. 3640 [139] C[179][177] 0 [167] IT[178]C:IS[178]D:[137] 3600
  183. 3660 [153]"(null)LEASE INPUT CHR$VAL(null)(null) FILETYPE:"
  184. 3680 [133]"PEEKASIC=1 (null)/(null)=2 ATNCC.=5 ATNPPL.=6";X$:X[178][197](X$)
  185. 3700 [139] X[179]1 [175] X[177]6 [167] 3660
  186. 3720 FS[178]0:GT[178]X
  187. 3740 [152]5,"B-F:"0;IT;IS
  188. 3760 [152]5,"B-R:";3;0;AT;AS
  189. 3780 [152]5,"B-P:"3,AB[170]19
  190. 3800 [152]3,[199](IT);
  191. 3820 [152]3,[199](IS);
  192. 3840 [152]3,[199](FS);
  193. 3860 [152]3,[199](GT);
  194. 3880 [152]3,[199](JA);
  195. 3900 [152]3,[199](MO);
  196. 3920 [152]3,[199](TA);
  197. 3940 [152]3,[199](HO);
  198. 3960 [152]3,[199](MI);
  199. 3970 [139] AT[179]1 [176] AT[177]35 [167] [153]"VAL(null)(null)(null)(null):RIGHT$LLEGAL TRACK":[137]4040
  200. 3980 [152]5,"M-W:"[199](6)[199](0)[199](2)[199](AT)[199](AS)
  201. 4000 [152]5,"M-W"[199](0)[199](0)[199](1)[199](144)
  202. 4020 [153]"WRITTEN":
  203. 4040 [133] "<(null)VAL(null)(null)(null)(null)> TO CONTINUE";X$:[142]
  204. 4060 [143] ***LOOK FOR DIR & SPRITE***
  205. 4080 [153]"LOAD":T[178]18:S[178]1:[139]N$[178]"DIR"[167] 4200
  206. 4100 [133]"(null)AME TO SEARCH FOR:";SU$
  207. 4120 SU[178][195](SU$)
  208. 4140 [153]"LOAD"
  209. 4160 SV$[178]"":[129]I[178]1[164]SU:SV[178][198]([202](SU$,I,1 )):[139] SV[177]192[175]SV[179]219[167] SV[178]SV[171]96
  210. 4180 SV$[178]SV$[170][199](SV):[130]I:
  211. 4200 [152]5,"B-R:"3;0;T ;S
  212. 4220 [152]5,"B-P:"3,0
  213. 4240 BP[178]2
  214. 4260 [141] 2220
  215. 4280 TN$[178]A$:TN[178][198](TN$)
  216. 4300 [141] 2220
  217. 4320 NA$[178]""
  218. 4340 SN$[178]A$:SN[178][198](SN$):[139]N$[179][177]"DIR"[167] [153]"T=";T;"  S=";S
  219. 4360 [152]5,"B-P:";3;2
  220. 4380 [129] J[178]1 [164] 8
  221. 4400 [152]5,"B-P:";3;BP
  222. 4420 [141] 2220:F1$[178]A$:F1[178][198](F1$)[175] 63
  223. 4440 [141] 2220:
  224. 4460 [141] 2220:
  225. 4480 [129] I[178]1 [164] 16:[141]2220
  226. 4500 [139] [198](A$)[178]160 [167] I[178]16:[137] 4540
  227. 4520 NA$[178]NA$[170]A$:
  228. 4540 [130]I:
  229. 4560 [152]5,"B-P:";3;BP[170]19
  230. 4580 [141]2220:I1$[178]A$:I1[178][198](I1$):
  231. 4600 [141]2220:I2$[178]A$:I2[178][198](I2$):
  232. 4620 [139] F1[178]0 [167] 4740
  233. 4640 [139] N$[178]"DIR" [167] [153]"";NA$:[137]4740
  234. 4660 [153]"  "; [199](34);NA$;[199](34)
  235. 4680 [139] N$[178]"DIR" [167] 4740
  236. 4700 [139] SU$[178][202](NA$,1,SU) [167] [153]"ASCOUND":[137] 4900
  237. 4720 [139] SV$[178][202](NA$,1,SU) [167] [153]"ASCOUND":[137] 4900
  238. 4740 NA$[178]""
  239. 4760 [139] [194](203)[179][177]64 [167] 4860
  240. 4780 BP[178]BP[170]32
  241. 4800 [130]J
  242. 4820 [139] TN[179][177]0 [167] [153]"":T[178]TN:S[178]SN:[137]4200
  243. 4840 [139] N$[179][177]"DIR"[167] [153]"(null)ORRY, NOT FOUND."
  244. 4860 [133]"<(null)VAL(null)(null)(null)(null)> TO CONTINUE";X$:[142]
  245. 4900 [143] *** READ SPRITE***
  246. 4920 [153]"LOAD(null)EAD SPRITEON"
  247. 4940 [139] I1[178]0 [167] [153]"LOADSPRITE NOT YET DEFINED":[129]ZZ[178]1[164] 1000:[130]:[137]5080
  248. 4960 [152]5,"B-R:"3;0;I1 ;I2
  249. 4980 [152]5,"B-P:"3,5
  250. 5000 [129] I[178]0 [164] 62
  251. 5020 [141] 2220
  252. 5040 [151]832[170]I,A:[153]I,A;""
  253. 5060 [130]I:
  254. 5080 [142]
  255. 5100 [143]***READ INFO SCREEN*****
  256. 5120 [139] IT[178]0 [167] [142]:[143] TRACK=0
  257. 5140 [152]5,"B-R:"3;0;IT;IS
  258. 5160 [152]5,"B-P:"3,0
  259. 5180 [129]I[178]1[164]6:A$(I,2)[178]"":[130]I
  260. 5200 [141]2220:[139]A[179][177] 0  [167] 5600
  261. 5205 [141]2220:[139]A[179][177]255 [167] 5600
  262. 5210 [141]2220:[139]A[179][177] 3 [167] 5600
  263. 5215 [141]2220:[139]A[179][177]21 [167] 5600
  264. 5220 [152]5,"B-P:"3,71
  265. 5240 [141] 2220:X[178]A
  266. 5260 [141] 2220:X[178]X[170]256[172]A
  267. 5280 A$(1,2)[178][196](X)
  268. 5300 [141] 2220:X[178]A
  269. 5320 [141] 2220:X[178]X[170]256[172]A
  270. 5340 A$(2,2)[178][196](X)
  271. 5360 [141] 2220:X[178]A
  272. 5380 [141] 2220:X[178]X[170]256[172]A
  273. 5400 A$(3,2)[178][196](X)
  274. 5420 [141] 2220:[139]A[178]0 [167] 5460
  275. 5440 A$(4,2)[178]A$(4,2)[170]A$:[137] 5420
  276. 5460 [152]5,"B-P:"3,97
  277. 5480 [141] 2220:[139]A[178]0 [167] 5520
  278. 5500 A$(5,2)[178]A$(5,2)[170]A$:[137] 5480
  279. 5520 [152]5,"B-P:"3,160
  280. 5540 [141] 2220:[139]A[178]0 [167] 5580
  281. 5560 A$(6,2)[178]A$(6,2)[170]A$:[137] 5540
  282. 5580 [143]
  283. 5600 [143] **** CREATE INFO SCREEN ******
  284. 5620 A$(1,1)[178]"1 (null)OAD ADDRESS     : "
  285. 5640 A$(2,1)[178]"2 VALND ADDRESS      : "
  286. 5660 A$(3,1)[178]"3 VALNTRY POINT      : "
  287. 5680 A$(4,1)[178]"4 LENLASS            : "
  288. 5700 A$(5,1)[178]"5 ATNUTHOR'S NAME    : "
  289. 5720 A$(6,1)[178]"6 LEFT$ELP SCREEN      : "
  290. 5740 [143]******************************
  291. 5760 [153]"LOADLENREATE RIGHT$NFO (null)CREEN"
  292. 5780 [129] I [178]1 [164] 6:[153]A$(I,1);A$(I,2):[130]I
  293. 5800 [133]"RIGHT$NPUT NUMBER OR VAL TO END ";X$
  294. 5820 [139] X$[178]"E" [167] [153]"LOAD":[137]6000
  295. 5840 [139] [197](X$)[179]1 [176] [197](X$)[177]6[167]5760
  296. 5860 [153]"";A$([197](X$),1);" ";A$([197](X$),2)
  297. 5880 [153][163]21);"ON";
  298. 5900 [139] [195](A$([197](X$),2))[177]19 [167][153]"ON";
  299. 5920 [133] A$([197](X$),2)
  300. 5940 [137] 5760
  301. 5960 [143]
  302. 5980 [143]
  303. 6000 [152]5,"B-P:"3,0
  304. 6020 [152]3,[199](0);[199](255);[199](3);[199](21);[199](191);
  305. 6040 [129] I[178]0 [164] 62
  306. 6060 [152]3,[199]([194](832[170]I));
  307. 6080 [130]I
  308. 6100 [152]3,[199](FT[170]128);
  309. 6120 [152]3,[199](GT);
  310. 6140 [152]3,[199](FS);
  311. 6160 [139] GT[178]1 [167] [137] 6340
  312. 6180 [143] X$=A$(1,2):GOSUB6720
  313. 6200 [143] PRINT#3,CHR$(X2);CHR$(X1);
  314. 6220 X$[178]A$(1,2):[141]6720
  315. 6240 [152]3,[199](X2);[199](X1);
  316. 6260 X$[178]A$(2,2):[141]6720
  317. 6280 [152]3,[199](X2);[199](X1);
  318. 6300 X$[178]A$(3,2):[141]6720
  319. 6320 [152]3,[199](X2);[199](X1);
  320. 6340 X[178][195](A$(4,2)):[139] X[177]19 [167] X[178]19
  321. 6360 [152]5,"B-P:"3,77
  322. 6380 [129] I[178]1 [164] X:X$[178][202](A$(4,2),I,1):[152]3,X$;
  323. 6400 [130]I :[152]3,[199](0);
  324. 6420 X[178][195](A$(5,2)):[139] X[177]19 [167] X[178]19
  325. 6440 [152]5,"B-P:"3,97
  326. 6460 [129] I[178]1 [164] X:X$[178][202](A$(5,2),I,1):[152]3,X$;
  327. 6480 [130]I :[152]3,[199](0);
  328. 6500 X[178][195](A$(6,2)):[139] X[177]40 [167] X[178]40
  329. 6520 [152]5,"B-P:"3,160
  330. 6540 [129] I[178]1 [164] X:X$[178][202](A$(6,2),I,1):[152]3,X$;
  331. 6560 [130]I :[152]3,[199](0);
  332. 6570 [139] IT[179]1 [176] IT[177]53 [167] [153]" ASCALSE TRACK":[137]6680
  333. 6580 [152]5,"M-W:"[199](6)[199](0)[199](2)[199](IT)[199](IS)
  334. 6600 [152]5,"M-W"[199](0)[199](0)[199](1)[199](144)
  335. 6620 [153]"(null)RITTEN":
  336. 6640 [152]5,"B-A:"0;IT;IS
  337. 6660 [132]5,A,B$,C,D:[153]A,B$,C,D:
  338. 6680 [133]"<(null)VAL(null)(null)(null)(null)> TO CONTINUE";X$
  339. 6700 [142]
  340. 6720 X[178][197](X$):X1[178][181](X[173]256):X2[178][181](X[171]X1[172]256 )
  341. 6740 [142]
  342. 6760 [131]127,191,223,239,247,251,253,254
  343.